package cn.yunlang.zhangZhongFei.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.yunlang.zhangZhongFei.entity.ExchangeAward;
import cn.yunlang.zhangZhongFei.vo.response.R;

/**
 * 兑奖记录表 服务类
 *
 * @author ·
 * @since 2025-05-27 09:54:49
 */
public interface ExchangeAwardService extends IService<ExchangeAward> {

  /**
   * 分页查询兑奖记录
   *
   * @param pageNo 页码
   * @param pageSize 每页大小
   * @param userId 用户ID（可选）
   * @param state 状态（0=待发货，1=已发货，2=已收货）（可选）
   * @param awardName 奖品名称（可选）
   * @return 分页结果
   */
  R<IPage<ExchangeAward>> pageExchangeAward(
      Integer pageNo, Integer pageSize, Long userId, String state, String awardName);

  R<ExchangeAward> getOne(Long exchangeAwardId);

  R<String> send(Long exchangeAwardId);

  R<String> recv(Long exchangeAwardId);

  R<String> addExchangeAward(ExchangeAward exchangeAward);

  R<String> deleteExchangeAward(Long exchangeAwardId);

  R<String> updateExchangeAward(ExchangeAward exchangeAward);
}
